const tmp = require("tmp");

let tmpDir;
async function getCacheDir() {
  if (!tmpDir) {
    return new Promise((resolve, reject) => {
      tmp.dir((err, name) => {
        if (err) {
          return reject(err);
        }

        _tmpDir = name;
        resolve(_tmpDir);
      });
    });
  }

  return tmpDir;
}

module.exports = { getCacheDir };
